package com.cskaoyan.javase.oop1._13access._3why;

/**
 * @description: 为什么要使用访问权限修饰符?
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

import java.util.Arrays;

/**
 * 就像生活中的锁,可以正常打开,也能撬开一样,访问权限修饰符也不是绝对安全的
 * Java当中提供了反射的技术,可以破解私有的访问权限
 * 也就说,访问权限除了做控制外,还有别的意义
 *
 * 访问权限也有警告和明示的作用,
 *      比如说一个东西的访问权限是public的,是告诉你可以用,鼓励你使用
 *      如果访问权限是private,是告诉你不要用,不应该使用(建议)
 * 实际的案例:
 *      1,工具类当中,创建对象是没有意义,所以私有化构造器,建议不要创建对象
 *      2,任何类当中,总有提供给外界使用的方法,用public修饰它建议外部使用,推荐使用,也有中间方法
 *          中间方法: 完成一些其它方法的中间流程方法,这种方法对外界是没有意义的
 *          中间方法的访问权限应该私有化
 *      3,设计模式当中的工厂设计模式---不使用构造器创建某个类的对象,而使用"工厂"创建对象
 *          这个工厂可能是一个类
 *          工厂设计模式当中,构造器就应该私有
 *
 * - 对于代码的书写者而言，隐藏代码的具体实现细节，可以很方便的修改代码实现
 */
public class Demo {

    public static void main(String[] args) {
        //Arrays arrays = new Arrays();
        //Arrays

    }

    public static void test(){
        test2();
    }

    //Access can be private
    private static void test2() {

    }
}
